package net.thxjj.adminServer.dao;

import java.util.List;

import net.thxjj.adminServer.util.ParameterMap;
import net.thxjj.sitermodel.Device;
import org.apache.ibatis.annotations.Param;

public interface DeviceDao {
	public Device getDeviceInfo(String device_id);
	public List<Device> getDeviceList(@Param("imei")String imei,@Param("prod_key")String prod_key,@Param("deviceStatusFilters")List<Long>deviceStatusFilters,@Param("netStatusFilters")List<Long>netStatusFilters);
	public void saveDevice(List<Device> list);
	public void saveSingleDevice(Device device);
	public List<Device> getAllDeviceList();
    public void updateDeviceOnLine(ParameterMap pm);
	public void updateDeviceOffLine(ParameterMap pm);
	public List<ParameterMap> getStaticsNetStatus();
	public List<ParameterMap> getStaticsSoftWare();
	public List<ParameterMap> getStaticsHardWare();
	public void updateDeviceHeartTime(@Param("heart_time")long heart_time,@Param("device_id")String device_id);
	public List<Device> getDeviceListByProductId(@Param("prod_key")String prod_key);
	public void setDeviceOut(@Param("device_id")String device_id);
	public List<Device> getDeviceListByTimeBefore(@Param("prod_key")String prod_key,@Param("end_time")long end_time);
	public List<Device> getDeviceListByTime(@Param("prod_key")String prod_key,@Param("start_time")long start_time,@Param("end_time")long end_time);
	public void delDevice(@Param("device_id")String device_id);

}
